package com.hanamaki.datastruct.pojo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class ArrayList_Thread2 {
    /* 同步锁  */
    public static void main(String[] args) {
        CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();

        for (int i = 0; i < 10000; i++) {

            new Thread(() ->{

                /* 加时间  */
                synchronized (list) {
                    list.add(Thread.currentThread().getName());
                }

            }).start();

        }

        /* 同时去买东西  延迟  等待时间  方法 问题发生性 */

        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        /* 输出线程的  大小   10000 */
        System.out.println(list.size());

    }
}
